GrabHelper saves the actor that had key focus when taking over the grab
(if any). On ungrab, the key focus is either restored or moved to some
child of the saved actor. The latter is unexpected and causes some odd
behavior, so don't be fancy and only restore the actual focus.
https://bugzilla.gnome.org/show_bug.cgi?id=693570
if (hadFocus) {
let poppedGrab = poppedGrabs[0];
- _navigateActor(poppedGrab.savedFocus);
+ if (poppedGrab.savedFocus)
+ poppedGrab.savedFocus.grab_key_focus();
}
},